home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / vrs501.zip / VRS-M14.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-08  |  5KB  |  234 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     String   STRING001
  27.     String   STRING002
  28.     String   STRING003
  29.     String   STRING004
  30.     String   STRING005
  31.     String   STRING006
  32.     String   STRING007
  33.     String   STRING008
  34.     String   STRING009
  35.     String   STRING010
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     Goto LABEL001
  40.     End
  41.     If (0 == 0) STRING001 = "NO"
  42.     If (0 == 1) STRING001 = "YES"
  43.  
  44.     EndFunc
  45.  
  46.     :LABEL001
  47.     STRING009 = "@X01≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡@X0F"
  48.     INTEGER007 = 0
  49.     STRING003 = GetEnv("VRS")
  50.     STRING004 = PPEPath()
  51.     INTEGER004 = Len(STRING004)
  52.     STRING004 = Left(STRING004, INTEGER004 - 1)
  53.     FCreate 3, "SORT.BAT", 2, 0
  54.     FPutLn 3, "@ECHO OFF"
  55.     FPutLn 3, String(PPEPath()) + "VRSORT.COM /R " + String(PPEPath()) + String(PcbNode()) + ".TMP " + String(PPEPath()) + String(PcbNode()) + ".SRT"
  56.     FClose 3
  57.     FOpen 1, PPEPath() + String(PcbNode()) + ".TMP", 2, 0
  58.     DOpen 0, PPEPath() + "USER.DBF", 0
  59.     INTEGER006 = DRecCount(0) - 1
  60.     DTop 0
  61.     Cls
  62.     PrintLn 
  63.     PrintLn "Virtual Reality Soldier - @X0APlayer Ranking@X0F"
  64.     PrintLn STRING009
  65.     Newline
  66.     InputStr "@X0BDo you want to view rankings based on @X02(@X0CK@X02)@X0Bills or @X02(@X0CE@X02)@X0Bxperience @X02(@X0CK@X02/@X0CE@X02) _", STRING010, 15, 1, "KE", 0 + 8
  67.     If (STRING010 == "") End
  68.     If (STRING010 == "K") Goto LABEL005
  69.     :LABEL002
  70.     If (DEof(0)) Goto LABEL004
  71.     DGet 0, "HANDLE", STRING002
  72.     DGet 0, "KILLS", INTEGER001
  73.     DGet 0, "EXP", INTEGER002
  74.     DSkip 0, 1
  75.     If (Left(STRING002, 10) == "USER ALIAS") Goto LABEL003
  76.     FPutPad 1, Trim(INTEGER002, " "), 15
  77.     FPutPad 1, Trim(STRING002, " "), 25
  78.     FPutPad 1, Trim(INTEGER001, " "), 6
  79.     FPutLn 1
  80.     :LABEL003
  81.     Goto LABEL002
  82.     :LABEL004
  83.     FClose 1
  84.     Shell 1, INTEGER003, "SORT.BAT", ""
  85.     Delete "SORT.BAT"
  86.     Delete PPEPath() + String(PcbNode()) + ".TMP"
  87.     Cls
  88.     PrintLn 
  89.     PrintLn "                        @X0AMost Experienced Players "
  90.     PrintLn 
  91.     PrintLn "              @X0CExperience     @X0BPlayer                   @X0EKills"
  92.     PrintLn "              @X05─────────────────────────────────────────────"
  93.     For INTEGER005 = 1 To INTEGER006
  94.         STRING005 = ReadLine(PPEPath() + String(PcbNode()) + ".SRT", INTEGER005)
  95.         STRING006 = Left(Trim(Left(STRING005, 15), " ") + "@X09······························", 19)
  96.         STRING006 = Left(STRING006, 19)
  97.         STRING007 = Left(Trim(Mid(STRING005, 16, 25), " ") + "····························", 29)
  98.         STRING007 = Left(STRING007, 25)
  99.         STRING008 = Left(Trim(Right(STRING005, 6), " ") + "····························", 9)
  100.         STRING008 = Left(STRING008, 5)
  101.         If (INTEGER007 == 0) PrintLn "@POS:15@@X8C", STRING006, "@POS:30@@X8B", STRING007, "@POS:49@@X8E", STRING008, "@X0F"
  102.         If (INTEGER007 >= 1) PrintLn "@POS:15@@X0C", STRING006, "@POS:30@@X0B", STRING007, "@POS:49@@X0E", STRING008
  103.         Inc INTEGER007
  104.     Next
  105.     PrintLn 
  106.     Call PPEPath() + "VRS-M19.PPE"
  107.     Delete PPEPath() + String(PcbNode()) + ".SRT"
  108.     SetEnv "VRS=" + STRING003
  109.     End
  110.     :LABEL005
  111.     If (DEof(0)) Goto LABEL007
  112.     DGet 0, "HANDLE", STRING002
  113.     DGet 0, "KILLS", INTEGER001
  114.     DGet 0, "EXP", INTEGER002
  115.     DSkip 0, 1
  116.     If (Left(STRING002, 10) == "USER ALIAS") Goto LABEL006
  117.     FPutPad 1, Trim(INTEGER001, " "), 6
  118.     FPutPad 1, Trim(STRING002, " "), 25
  119.     FPutPad 1, Trim(INTEGER002, " "), 15
  120.     FPutLn 1
  121.     :LABEL006
  122.     Goto LABEL005
  123.     :LABEL007
  124.     FClose 1
  125.     Shell 1, INTEGER003, "SORT.BAT", ""
  126.     Delete "SORT.BAT"
  127.     Delete PPEPath() + String(PcbNode()) + ".TMP"
  128.     Cls
  129.     PrintLn 
  130.     PrintLn "                          @X0AMost Dangerous Players "
  131.     PrintLn 
  132.     PrintLn "              @X0CKills   @X0BPlayer                   @X0EExperience"
  133.     PrintLn "              @X05───────────────────────────────────────────"
  134.     For INTEGER005 = 1 To INTEGER006
  135.         STRING005 = ReadLine(PPEPath() + String(PcbNode()) + ".SRT", INTEGER005)
  136.         STRING006 = Left(Trim(Left(STRING005, 6), " ") + "@X09··························", 14)
  137.         STRING006 = Left(STRING006, 12)
  138.         STRING007 = Left(Trim(Mid(STRING005, 7, 25), " ") + "·························", 29)
  139.         STRING007 = Left(STRING007, 25)
  140.         STRING008 = Left(Trim(Right(STRING005, 6), " ") + "····················", 14)
  141.         STRING008 = Left(STRING008, 10)
  142.         If (INTEGER007 == 0) PrintLn "@POS:15@@X8C", STRING006, "@POS:23@@X8B", STRING007, "@POS:48@@X8E", STRING008, "@X0F"
  143.         If (INTEGER007 >= 1) PrintLn "@POS:15@@X0C", STRING006, "@POS:23@@X0B", STRING007, "@POS:48@@X0E", STRING008
  144.         Inc INTEGER007
  145.     Next
  146.     PrintLn 
  147.     Call PPEPath() + "VRS-M19.PPE"
  148.     Delete PPEPath() + String(PcbNode()) + ".SRT"
  149.     SetEnv "VRS=" + STRING003
  150.     End
  151.  
  152. ;------------------------------------------------------------------------------
  153. ;
  154. ; Usage report (before postprocessing)
  155. ;
  156. ; ■ Statements used :
  157. ;
  158. ;    4       End
  159. ;    3       Cls
  160. ;    12      Goto 
  161. ;    27      Let 
  162. ;    19      PrintLn 
  163. ;    14      If 
  164. ;    1       FCreate 
  165. ;    1       FOpen 
  166. ;    3       FClose 
  167. ;    4       FPutLn 
  168. ;    6       FPutPad 
  169. ;    6       Delete 
  170. ;    1       InputStr 
  171. ;    2       Inc 
  172. ;    1       Newline
  173. ;    2       Shell 
  174. ;    2       Call 
  175. ;    2       SetEnv 
  176. ;    1       EndFunc
  177. ;    1       DOpen 
  178. ;    1       DTop 
  179. ;    2       DSkip 
  180. ;    6       DGet 
  181. ;
  182. ;
  183. ; ■ Functions used :
  184. ;
  185. ;    35      +
  186. ;    2       -
  187. ;    8       ==
  188. ;    2       <
  189. ;    2       <=
  190. ;    6       >=
  191. ;    4       !
  192. ;    4       &&
  193. ;    2       ||
  194. ;    1       Len(
  195. ;    2       Mid()
  196. ;    17      Left()
  197. ;    2       Right()
  198. ;    12      Trim()
  199. ;    12      String()
  200. ;    14      PPEPath()
  201. ;    9       PcbNode()
  202. ;    2       ReadLine()
  203. ;    1       GetEnv()
  204. ;    2       DEof()
  205. ;    1       DRecCount()
  206. ;
  207. ;------------------------------------------------------------------------------
  208. ;
  209. ; Analysis flags : SC
  210. ;
  211. ; S - Shell to DOS ■ 5
  212. ;     This may be normal if the PPE need to execute an external command,
  213. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  214. ;     or usefull (sorting, maintenance,...). Check!
  215. ;     ■ Search for : SHELL
  216. ;
  217. ; C - Call child PPE ■ 3
  218. ;     This is usually normal, but may be a tricky way to launch some
  219. ;     sysop-only commands.
  220. ;     ■ Search for : CALL
  221. ;
  222. ;------------------------------------------------------------------------------
  223. ;
  224. ; Postprocessing report
  225. ;
  226. ;    2       For/Next
  227. ;    0       While/EndWhile
  228. ;    0       If/Then or If/Then/Else
  229. ;    0       Select Case
  230. ;
  231. ;------------------------------------------------------------------------------
  232. ;                 AEGiS Corp - Break the routines, code against the machines!
  233. ;------------------------------------------------------------------------------
  234.